<?php

namespace coreapi\models;

use coreapi\tables\base\Plan;
use coreapi\tables\base\DingcanReturn;
use coreapi\tables\base\GuideReturn;
use coreapi\tables\base\JiaotongReturn;
use coreapi\tables\base\YuleReturn;
use coreapi\tables\base\ZhongzhuanReturn;
use coreapi\tables\base\ZhusuReturn;
use yii\base\Model;
use common\models\ZHttp;


class RongModel extends Model {

     const baseUrl='http://api.cn.ronghub.com';

     public static function getuserToken($userId,$name,$portraitUri='00') {
         if($portraitUri=='00'){
           $fileUrl = \Yii::$app->params['file_url'];
           $portraitUri=$fileUrl.'guide_file/icon.png';
         }

          $appKey=\Yii::$app->params['rong']['AppKey'];
          $appSecret = \Yii::$app->params['rong']['AppSecret'];

          srand((double)microtime()*1000000);
          $nonce = rand(); // 获取随机数。
          $timestamp = time(); // 获取时间戳。
          $signature = sha1($appSecret.$nonce.$timestamp);
          $header=[];
          $header[]= "App-Key: $appKey";
          $header[]= "Nonce: $nonce";
          $header[]= "Timestamp: $timestamp";
          $header[]= "Signature: $signature";

          $url=self::baseUrl . '/user/getToken.json';
          $param=[];
          $param['userId']=$userId;
          $param['name']=$name;
          $param['portraitUri']=$portraitUri;

          $result=ZHttp::curlPost($url, $param, $header);
          return $result['data'];
     }

     public static function getuserToken2(){
        $RongCloud = \Yii::$app->rong;
        $result = $RongCloud->user()->getToken('userId1', 'username', 'http://www.rongcloud.cn/images/logo.png');
        return $result;
     }

     public static function test(){
       $RongCloud = \Yii::$app->rong;
       // 创建群组方法（创建群组，并将用户加入该群组，用户将可以收到该群的消息，同一用户最多可加入 500 个群，每个群最大至 3000 人，App 内的群组数量没有限制.注：其实本方法是加入群组方法 /group/join 的别名。）
     	 //$result1 = $RongCloud->group()->create(["5","6","7"], 'groupId1', 'groupName1');
       // 发送群组消息方法（以一个用户身份向群组发送消息，单条消息最大 128k.每秒钟最多发送 20 条消息，每次最多向 3 个群组发送，如：一次向 3 个群组发送消息，示为 3 条消息。）
       $result2 = $RongCloud->message()->publishGroup('6', ["groupId1"], 'RC:TxtMsg',"{\"content\":\"hello\",\"extra\":\"helloExtra\"}", 'thisisapush', '{\"pushData\":\"hello\"}', '1', '1', '1');
       // 将用户加入指定群组，用户将可以收到该群的消息，同一用户最多可加入 500 个群，每个群最大至 3000 人。
     	 //$result3 = $RongCloud->group()->join(["userId2","userid3","userId4"], 'groupId1', 'TestGroup');
     	 // 查询群成员方法
     	 //$result4 = $RongCloud->group()->queryUser('groupId1');
       return $result2;
     }
 }
